home *** CD-ROM | disk | FTP | other *** search
/ NOVA - For the NeXT Workstation / NOVA - For the NeXT Workstation.iso / Documents / NeXTAnswers / objc.702 < prev    next >
Text File  |  1992-02-06  |  2KB  |  63 lines

  1. {\rtf0\ansi{\fonttbl\f0\fnil Times-Roman;\f2\fmodern Ohlfs;\f1\fmodern Courier;}
  2. \paperw13040
  3. \paperh10800
  4. \margl120
  5. \margr120
  6. {\colortbl\red0\green0\blue0;}
  7. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\f0\b0\i0\ul0\fs28 C++ libraries\
  8. \
  9. Q:  I obtained the Free Software Foundations libraries described in NextAnswer objc.624, but they won't compile. What do I have to do to get them to compile?\
  10. \
  11. A:  There are a couple of things that you must do in order to compile version 1.37.0 of libg++ on the NeXT machine.\
  12. \
  13. • First, you must turn off the inclusion of libg++'s malloc routines. You can do this by setting a compiler flag.  Edit the Makefile and search for 
  14. \fc0 MALLOC. Remove the comment # indicator on the line which sets XTRAFLAGS to -DNO_LIBGXX_MALLOC. It will look like this when you've finished:\
  15. \
  16.  
  17. \pard\tx620\tx1240\tx1860\tx2480\tx3100\tx3720\tx4340\tx4980\tx5600\tx6220\f2\fc0     # Use this to disable placing libg++ version of malloc in libg++.a\
  18.     XTRAFLAGS = -DNO_LIBGXX_MALLOC\
  19.     \
  20.  
  21. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\f0 You should also make this change in the Makefile in the 
  22. \b tests
  23. \b0  directory.\
  24. \
  25. • Also, if you are not using gnu make, you should change this line in the same Makefile:\
  26.  
  27. \pard\tx620\tx1240\tx1860\tx2480\tx3100\tx3720\tx4340\tx4980\tx5600\tx6220\f2\fc0     #PWD := $(shell pwd)\
  28.  
  29. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\f0 to point to the directory in which the sources live.\
  30. \
  31. • Next, you must modify the time.h file. There are some conflicts with the time.h file which is shipped with libg++ and the time.h that comes with the NeXT system. Change the first few lines to look like this:\
  32. \
  33.  
  34. \pard\tx620\tx1240\tx1860\tx2480\tx3100\tx3720\tx4340\tx4980\tx5600\tx6220\f2\fc0     #ifndef time_h\
  35.     #define time_h 1\
  36.     #ifdef NeXT\
  37.     #define _TIME_H 1\
  38.     #endif\
  39.  
  40. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\f0 \
  41. • Modify the Makefile in the 
  42. \b src 
  43. \b0 and the
  44. \b  tests 
  45. \b0 directory. Set GXX to cc++ and set VERBOSITY_FLAGS to -Wall (remove the -v flag. Changing verbosity isn't necessary, but with -v set you will get lots of useless messages.\
  46. \
  47. Like this:\
  48.  
  49. \f2     GXX = cc++\
  50.     VERBOSITY_FLAGS = -Wall\
  51.  
  52. \f0 \
  53. After doing each of these, the GNU libraries will compile on a NeXT machine.\
  54. \
  55. See also: NextAnswer objc.624.\
  56. \
  57. QA702\
  58. \
  59. Not valid for 1.0\
  60. Valid for 2.0\
  61. \
  62.  
  63.